package com.maybach.core.manager;

import com.maybach.util.query.support.PageResult;
import com.maybach.common.model.OrderInfoDO;
import com.maybach.common.query.OrderInfoQuery;

import java.util.List;


/**
 * Manager for OrderInfo.
 */
public interface OrderInfoManager {
    /**
     * query count by query condition.
     */
    int countByQuery(OrderInfoQuery query);

    /**
     * delete by query condition.
     */
    int deleteByQuery(OrderInfoQuery query);

    /**
     * delete by primary key.
     */
    int deleteByPrimaryKey(OrderInfoDO record);

    /**
     * insert selective.
     */
    long insertSelective(OrderInfoDO record);

    /**
     * select by query condition.
     */
    List<OrderInfoDO> selectByQuery(OrderInfoQuery query);


    /**
     * select by query condition with page.
     */
    PageResult<OrderInfoDO> selectByQueryWithPage(OrderInfoQuery query);

    /**
     * select by primary key.
     */
    OrderInfoDO selectByPrimaryKey(Long id);

    /**
     * update by query condition selective.
     */
    int updateByQuerySelective( OrderInfoDO record,  OrderInfoQuery query);

    /**
     * update by query condition.
     */
    int updateByQuery(OrderInfoDO record, OrderInfoQuery query);

    /**
     * update by primary key selective.
     */
    int updateByPrimaryKeySelective(OrderInfoDO record);
}